package xianchenglock;

import java.util.concurrent.TimeUnit;

/**
 * @功能
 * @创建时间 2019/12/17
 * 一个同步方法调用另一个同步方法，一个线程已经拥有某个对象的锁，再次申请的时候人会得到该对象的锁
 * 也就是说s。。。zed获得的锁是可以重入的
 * 这里实际称重可能发生的情形，子类调用父类的同步方法
 */
public class I {
    synchronized void m(){
        System.out.println("m start");
        try{
            TimeUnit.SECONDS.sleep(1);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("m end");
    }

    public static void main(String[] args) {
        new TT().m();
    }}
    class TT extends I{
        @Override
        synchronized void m(){
    System.out.println("child m start");
    super.m();
    System.out.println("child m end");
        }
    }

